Evaluación de Procesos de Negocio Preliminares

Por parte de Expertos de Negocio

Contexto del Estudio

MARBLE es un marco para la modernización del software (basado en ADM (Architecture Driven Modernization)) que permite extraer Procesos de Negocio desde sistemas de información heredados. En la actualidad el marco permite extraer Procesos de Negocio preliminares mediante el análisis del código fuente y la aplicación de ciertos patrones de negocio. Por ejemplo, un método una actividad, una llamada entre métodos un flujo de secuencia, etc.

El hecho de que los Procesos de Negocio se extraigan solo desde el código fuete y tan solo usando análisis estático hasta el momento, hacen que los Procesos de Negocio se consideren preliminares. Éstos son de bajo nivel ya que en muchos casos pueden representar más el flujo de llamadas que un Proceso de Negocio. No obstante, éste es el primer paso para llegar a extraer los Procesos desde sistemas heredados.

Refinamiento de los Procesos de Negocio

Para complementar o refinar los procesos preliminares, MARBLE propone la intervención manual por parte del experto de negocio, para enriquecer los procesos con actividades manuales no presentes en los sistemas de información, o actividades no recuperadas, eliminación de redundancias o inconsistencias, eliminación de actividades de bajo nivel y refactorización o renombrado de los elementos, entre otras muchas intervenciones. MARBLE define las siguientes operaciones posibles:

Operation

Description

Elements which it can be applied

Add [A]

This operation modifies the original business process model appending new elements to that model. For instance, business experts can use this operation to add manual activities that cannot be recovered from the legacy system.

Activity, sequence flow, data object, association, gateways and event.

Remove [R]

This operation modifies the original business process model deleting any element of that model. For instance, business experts can use this operation to drop activities recovered from auxiliary methods that are not related to the system’s business domain.

Activity, sequence flow, data object, association, gateways, event and business process model.

Rename [RN]

This operation is used by the business experts when they want to put another name to any element of the business process model, thus the new name represents accurately the semantics of the element.

All the named elements

Join [J]

This operation makes it possible to consider two or more elements as only one element. Really, it can be considered as a transaction that consists of several remove and rename operations.

Business process model and activity

Split [S]

This operation takes an element of the business process model and divides it into two or more elements. Really, it can be considered as a transaction that involves some add and rename operations.

Business process model and activity

Definición del Estudio

En este estudio se pretende por un lado involucrar a los expertos de negocio para que refinen los procesos preliminares obtenidos mediante MARBLE (y concretamente sobre la herramienta ad hoc que lo soporta). Además, por otro lado, se pretende analizar la bondad de los Procesos de Negocio obtenidos con respecto a si representan o no fielmente la operativa de la organización que posé el sistema heredado. Es decir, medir el grado de coincidencia entre los Procesos de Negocio Preliminares y los Reales. En este sentido se usarán un conjunto de métricas basadas en la teoría de almacenamiento y recuperación de la información. Para poder usar estas métricas se medirán básicamente dos datos: (i) cantidad de actividades obtenidas que no representan parte de los procesos reales, y (ii) cantidad de actividades no obtenidas y que sí están en los procesos reales.

A continuación se presenta una tabla resumen de los procesos preliminares. Estos han sido obtenidos tomando como unidad de análisis a cada paquete de código fuente. Además, para facilitar el trabajo se propone un conjunto de operaciones inter Procesos de Negocio (no intra Procesos de Negocio) que elimina procesos de bajo nivel y que agrupa y renombra otros procesos. No obstante, las operaciones propuestas no son vinculantes.

Package

SIZE

COMPLEXITY

N. of Output Data Objects

# Total Elements

Transf. time (ms)

Preliminary BP Id

Manual intervention

(on business process models)

src

 

 

 

 

 

 

8

20

0

44

2182

1

R

src

com

snt

applab

security

manager

 

7

2

2

34

671

2

J [3,21], RN ["Security Management"]

src

com

snt

applab

security

utils

 

3

0

1

13

522

3

J [2,21], RN ["Security Management"]

src

com

snt

applab

spring

dao

 

123

124

2

420

4323

4

R

src

com

snt

applab

spring

manager

 

172

64

34

397

7621

5

R

src

com

snt

applab

spring

model

 

213

0

99

535

10650

6

J [7], RN ["Administration"]

src

com

snt

applab

spring

web

 

3

4

1

18

577

7

J [6], RN ["Administration"]

src

com

snt

applab

spring

web

analisis

98

210

38

504

13716

8

J [25], RN ["Chemical Analysis Management"]

src

com

snt

applab

spring

web

calibraciones

35

80

22

201

4837

9

J [26], RN ["Chemical Calibration Management"]

src

com

snt

applab

spring

web

clientes

47

126

7

219

1948

10

J [27], RN ["Customer Management"]

src

com

snt

applab

spring

web

disoluciones

42

104

16

223

4462

11

RN ["Chemical Dilution Management"]

src

com

snt

applab

spring

web

facturas

38

92

11

187

2184

12

RN ["Sale Performance"]

src

com

snt

applab

spring

web

roles

8

8

1

31

640

13

J [14,30], RN ["Customer Registration"]

src

com

snt

applab

spring

web

usuarios

18

28

2

69

833

14

J [13,30], RN ["Customer Registration"]

src

com

snt

applab

spring

web

zonas

41

64

22

194

9384

15

J [32], RN["Sale Area Management"]

src

com

snt

applab

utils

exceptions

 

1

0

1

9

590

16

R

src

com

snt

applab

utils

hibernate

 

22

4

5

52

782

17

R

src

com

snt

applab

utils

listeners

 

5

4

1

25

711

18

R

src

com

snt

applab

utils

mensajes

 

4

0

2

15

544

19

J [20], RN ["Reporting"]

src

com

snt

applab

utils

pdf

 

4

6

0

25

565

20

J [19], RN ["Reporting"]

src

com

snt

applab

utils

validator

 

46

36

19

218

3851

21

J [2,3], RN ["Security Management"]

src

com

snt

applab

utils

views

 

3

4

0

13

484

22

R

src

com

snt

applab

utils

xml

 

10

20

11

256

14908

23

R

servlets

 

 

 

 

 

 

26

96

12

243

29365

24

R

servlets

analisis

 

 

 

 

 

245

1615

61

2961

271430

25

J [8], RN ["Chemical Analysis Management"]

servlets

calibraciones

 

 

 

 

 

29

80

12

171

21803

26

J [9], RN ["Chemical Calibration Management"]

servlets

clientes

 

 

 

 

 

67

416

15

746

124850

27

J [10], RN ["Customer Management"]

servlets

generico

 

 

 

 

 

9

10

5

42

1098

28

R

servlets

tag

web

 

 

 

 

26

60

8

152

1635

29

R

servlets

usuarios

 

 

 

 

 

46

186

16

405

20263

30

J [13,14], RN ["Customer Registration"]

servlets

WEB INF

sitemesh

 

 

 

 

36

158

16

352

11859

31

R

servlets

zonas

 

 

 

 

 

51

266

15

556

56976

32

J [15], RN["Sale Area Management"]

Total

1486

3887

457

9330

626264

 

 

Mean

46.4

121.5

14.3

291.6

19570.8

Std Deviation

60.9

288.0

20.4

524.4

51715.4

 

El conjunto de Procesos de Negocio finales, según la propuesta de intervención manual inicial, consiste en 10 Procesos de Negocio. A continuación se propone a los expertos de negocio a refinar (i) de forma concreta, dibujando y corrigiendo sobre los diagramas que se acompañan a continuación, y (ii) de forma general, indicando las líneas de actuación para refinar los procesos que se presentan. La refinación general permitirá agilizar la tarea de refinamiento para atajar el problema del gran tamaño de alguno de los procesos preliminares. (Para visualizar mejor los diagramas, esta documentación está acompañada del fichero Diagramas.html que permite visualizar los diagramas en formato vectorial para ampliar cualquier detalle de los mismos)

Adicionalmente, se le pide que anote en la tabla siguiente una serie de información por cada uno de los 10 diagramas que son refinados.

Proceso de Negocio

Estimación Tareas NO representadas (%)

Estimación Tareas  representadas de forma errónea (%)

Tiempo Inicial

Tiempo Final

1-Security Management

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

2-Administration

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

3-Chemical Analysis Management

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

4-Chemical Calibration Management

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

5-Customer Management

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

6-Chemical Dilution Management

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

7-Sale Performance

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

8-Customer Registration

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

9-Sale Area Management

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

10-Reporting

0

10

20

30

40

50

60

70

80

90

100

0

10

20

30

40

50

60

70

80

90

100

_ _:_ _ :_ _

_ _:_ _ :_ _

 

Diagramas [Ir…]